#include <iostream>
using namespace std;

class GameObj
{
	private:
		// bounding box
		int bound_x;
		int bound_y;
	
		// texture, origin, rotation
		GRRLIB_texImg *texture;
		//int tex_handle_x;		// set/handled via GRRLIB implementation
		//int tex_handle_y;
		float rot;		// texture rotation in degrees
		
		// global position + data
		int x;		// global map position
		int y;
		float v;	// velocity
		
		// 
		int layer;	// u8
		
	public:
		

}

class View
{
	private:
		// current x,y position
		int x;
		int y;
		
		// dimensions of view
		int width;
		int height;

		// additional parameters
		int rot;
		float zoom;
		
	public:
		// ??????
		void SetScrollBox(int x1, int y1, int x2, int y2);
		// set a bounding box for the no-scroll zone. 
		// If the player moves out of this region, the view automatically moves (scrolls) to contain them.
		
		void SetView(int x, int y, int rot, float zoom);
		// set up the view with an absolute position, rotation, zoom, etc
		
		void Move(int up, int left);	// modify variables to correspond correctly to +/- signs
		// move the screen view area
		
		// ??????
		void Draw();
		// render/draw the map under the current view
}

int main()
{
	cout << "Hello World";

	exit(0);
}
